#include<iostream>
#include<vector>
#include<algorithm>
using namespace std;
const int N=1e5+10;
int n;

void merge(vector<pair<int,int>> &space){
  vector<pair<int,int>> eg;
  // int j=space.size();
  // int l=space[0].first,r=space[0].second;
  // for(int i=1;i<j;i++){
  //   if(space[i].first<=r){
  //     r=max(space[i].second,r);
  //   }else{
  //     eg.push_back({l,r});
  //     l=space[i].first;
  //     r=space[i].second;
  //   }
  // }
  int l=-N,r=-N;
  for(auto x:space){
    if(r<x.first){
      if(l!=-N) eg.push_back({l,r});
      l=x.first;
      r=x.second;
    }else r=max(x.second,r);
  }
  eg.push_back({l,r});
  space=eg;
}
vector<pair<int,int>> place;
int main(){
  cin>>n;
  for(int i=0;i<n;i++){
    int l,r;
    cin>>l>>r;
    place.push_back({l,r});
  }
  sort(place.begin(),place.end());
  merge(place);
  cout<<place.size();
}